package com.bls.blslib.base;

import com.lzy.okgo.OkGo;
import com.lzy.okgo.cache.CacheMode;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.HttpParams;

/**
 * 　　  () 　　　  ()
 * 　　  ( ) 　　　( )
 * 　　  ( ) 　　　( )
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　┻　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ——————————————————
 * Created by BinglingSu on 2017/12/21.
 */

public class BaseImpl {

    private volatile static BaseImpl instance = null;

    public static BaseImpl getInstance() {
        if (instance == null) {
            synchronized (BaseImpl.class) {
                instance = new BaseImpl();
            }
        }
        return instance;
    }



    /**
     * 请求网络数据
     *
     * @param url            接口地址
     * @param httpParams     请求参数
     * @param stringCallback String类型返回值
     */
    public void getStrData(String url, HttpParams httpParams, CacheMode cacheMode, StringCallback stringCallback) {
        String cacheKey;
        if (httpParams == null) {
            cacheKey = url;
        } else {
            cacheKey = url.concat(httpParams.toString());
        }
        OkGo.<String>get(url).tag(url).cacheKey(cacheKey).cacheMode(cacheMode).params(httpParams).execute(stringCallback);
    }
}
